package com.lxmes.business.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lxmes.common.annotation.Excel;
import com.lxmes.common.core.domain.BaseEntity;

/**
 * 开票通知单对象 nc_notice_bill
 *
 * @author 张志煜
 * @date 2022-11-29
 */
public class NcNoticeBill extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 工厂代码 */
    @Excel(name = "工厂代码")
    private String tenantId;

    /** 日期 */
    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM")
    private String date;

    /** 伙伴代码 */
    @Excel(name = "伙伴代码")
    private String partnerCode;

    /** 伙伴类型 */
    @Excel(name = "伙伴类型")
    private String partnerType;

    /** 伙伴名称 */
    @Excel(name = "伙伴名称")
    private String partnerName;

    /** 伙伴税号 */
    @Excel(name = "伙伴税号")
    private String partnerSh;

    /** 伙伴地址 */
    @Excel(name = "伙伴地址")
    private String partnerDz;

    /** 伙伴电话 */
    @Excel(name = "伙伴电话")
    private String partnerPhone;

    /** 伙伴开户银行 */
    @Excel(name = "伙伴开户银行")
    private String partnerKhyh;

    /** 伙伴账号 */
    @Excel(name = "伙伴账号")
    private String partnerZh;

    /** 伙伴联系人 */
    @Excel(name = "伙伴联系人")
    private String partnerLxr;

    /** 伙伴联系电话 */
    @Excel(name = "伙伴联系电话")
    private String partnerLxdh;

    /** 合同类型 */
    @Excel(name = "合同类型")
    private String contractType;

    /** 合同编号 */
    @Excel(name = "合同编号")
    private String contractCode;

    /** 合同签订日期 */
    @Excel(name = "合同签订日期")
    private String contractQdrq;

    /** 合同交货期 */
    @Excel(name = "合同交货期")
    private String contractJhq;

    /** 合同签订人 */
    @Excel(name = "合同签订人")
    private String contractQdr;

    /** 产品编号 */
    @Excel(name = "产品编号")
    private String proCode;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String proName;

    /** 规格型号 */
    @Excel(name = "规格型号")
    private String ggxh;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 合同金额 */
    @Excel(name = "合同金额")
    private BigDecimal contractJe;

    /** 合同单价 */
    @Excel(name = "合同单价")
    private BigDecimal contractDj;

    /** 合同数量 */
    @Excel(name = "合同数量")
    private BigDecimal contractNum;

    /** 开票状态 */
    @Excel(name = "开票状态")
    private String kpzt;

    /** 通知单编号 */
    @Excel(name = "通知单编号")
    private String noticeNum;

    /** 发票类型 */
    @Excel(name = "发票类型")
    private String invoiceType;

    /** 结算周期 */
    @Excel(name = "结算周期")
    private String jiesuanZq;

    /** 开票周期 */
    @Excel(name = "开票周期")
    private String kpZq;

    /** 开票数量 */
    @Excel(name = "开票数量")
    private BigDecimal kpSl;

    /** 开票单价 */
    @Excel(name = "开票单价")
    private BigDecimal kpDj;

    /** 开票金额 */
    @Excel(name = "开票金额")
    private BigDecimal kpJe;

    /** 不含税单价 */
    @Excel(name = "不含税单价")
    private BigDecimal bhsdj;

    /** 不含税金额 */
    @Excel(name = "不含税金额")
    private BigDecimal bhdje;

    /** 税率 */
    @Excel(name = "税率")
    private BigDecimal rate;

    /** 税额 */
    @Excel(name = "税额")
    private BigDecimal rateE;

    /** 经办人 */
    @Excel(name = "经办人")
    private String chargeUser;

    /** 伙伴方经办人 */
    @Excel(name = "伙伴方经办人")
    private String partnerChargrUser;
    //入库单ids
    private Long[] ids;
    //开票类型 1-入库结算 2 出库结算
    private  String kpType;
    //结算ID
    private Long  jsId;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setTenantId(String tenantId)
    {
        this.tenantId = tenantId;
    }

    public String getTenantId()
    {
        return tenantId;
    }
    public void setDate(String date)
    {
        this.date = date;
    }

    public String getDate()
    {
        return date;
    }
    public void setPartnerCode(String partnerCode)
    {
        this.partnerCode = partnerCode;
    }

    public String getPartnerCode()
    {
        return partnerCode;
    }
    public void setPartnerType(String partnerType)
    {
        this.partnerType = partnerType;
    }

    public String getPartnerType()
    {
        return partnerType;
    }
    public void setPartnerName(String partnerName)
    {
        this.partnerName = partnerName;
    }

    public String getPartnerName()
    {
        return partnerName;
    }
    public void setPartnerSh(String partnerSh)
    {
        this.partnerSh = partnerSh;
    }

    public String getPartnerSh()
    {
        return partnerSh;
    }
    public void setPartnerDz(String partnerDz)
    {
        this.partnerDz = partnerDz;
    }

    public String getPartnerDz()
    {
        return partnerDz;
    }
    public void setPartnerPhone(String partnerPhone)
    {
        this.partnerPhone = partnerPhone;
    }

    public String getPartnerPhone()
    {
        return partnerPhone;
    }
    public void setPartnerKhyh(String partnerKhyh)
    {
        this.partnerKhyh = partnerKhyh;
    }

    public String getPartnerKhyh()
    {
        return partnerKhyh;
    }
    public void setPartnerZh(String partnerZh)
    {
        this.partnerZh = partnerZh;
    }

    public String getPartnerZh()
    {
        return partnerZh;
    }
    public void setPartnerLxr(String partnerLxr)
    {
        this.partnerLxr = partnerLxr;
    }

    public String getPartnerLxr()
    {
        return partnerLxr;
    }
    public void setPartnerLxdh(String partnerLxdh)
    {
        this.partnerLxdh = partnerLxdh;
    }

    public String getPartnerLxdh()
    {
        return partnerLxdh;
    }
    public void setContractType(String contractType)
    {
        this.contractType = contractType;
    }

    public String getContractType()
    {
        return contractType;
    }
    public void setContractCode(String contractCode)
    {
        this.contractCode = contractCode;
    }

    public String getContractCode()
    {
        return contractCode;
    }
    public void setContractQdrq(String contractQdrq)
    {
        this.contractQdrq = contractQdrq;
    }

    public String getContractQdrq()
    {
        return contractQdrq;
    }
    public void setContractJhq(String contractJhq)
    {
        this.contractJhq = contractJhq;
    }

    public String getContractJhq()
    {
        return contractJhq;
    }
    public void setContractQdr(String contractQdr)
    {
        this.contractQdr = contractQdr;
    }

    public String getContractQdr()
    {
        return contractQdr;
    }
    public void setProCode(String proCode)
    {
        this.proCode = proCode;
    }

    public String getProCode()
    {
        return proCode;
    }
    public void setProName(String proName)
    {
        this.proName = proName;
    }

    public String getProName()
    {
        return proName;
    }
    public void setGgxh(String ggxh)
    {
        this.ggxh = ggxh;
    }

    public String getGgxh()
    {
        return ggxh;
    }
    public void setUnit(String unit)
    {
        this.unit = unit;
    }

    public String getUnit()
    {
        return unit;
    }
    public void setContractJe(BigDecimal contractJe)
    {
        this.contractJe = contractJe;
    }

    public BigDecimal getContractJe()
    {
        return contractJe;
    }
    public void setContractDj(BigDecimal contractDj)
    {
        this.contractDj = contractDj;
    }

    public BigDecimal getContractDj()
    {
        return contractDj;
    }
    public void setContractNum(BigDecimal contractNum)
    {
        this.contractNum = contractNum;
    }

    public BigDecimal getContractNum()
    {
        return contractNum;
    }
    public void setKpzt(String kpzt)
    {
        this.kpzt = kpzt;
    }

    public String getKpzt()
    {
        return kpzt;
    }
    public void setNoticeNum(String noticeNum)
    {
        this.noticeNum = noticeNum;
    }

    public String getNoticeNum()
    {
        return noticeNum;
    }
    public void setInvoiceType(String invoiceType)
    {
        this.invoiceType = invoiceType;
    }

    public String getInvoiceType()
    {
        return invoiceType;
    }
    public void setJiesuanZq(String jiesuanZq)
    {
        this.jiesuanZq = jiesuanZq;
    }

    public String getJiesuanZq()
    {
        return jiesuanZq;
    }
    public void setKpZq(String kpZq)
    {
        this.kpZq = kpZq;
    }

    public String getKpZq()
    {
        return kpZq;
    }
    public void setKpSl(BigDecimal kpSl)
    {
        this.kpSl = kpSl;
    }

    public BigDecimal getKpSl()
    {
        return kpSl;
    }
    public void setKpDj(BigDecimal kpDj)
    {
        this.kpDj = kpDj;
    }

    public BigDecimal getKpDj()
    {
        return kpDj;
    }
    public void setKpJe(BigDecimal kpJe)
    {
        this.kpJe = kpJe;
    }

    public BigDecimal getKpJe()
    {
        return kpJe;
    }
    public void setBhsdj(BigDecimal bhsdj)
    {
        this.bhsdj = bhsdj;
    }

    public BigDecimal getBhsdj()
    {
        return bhsdj;
    }
    public void setBhdje(BigDecimal bhdje)
    {
        this.bhdje = bhdje;
    }

    public BigDecimal getBhdje()
    {
        return bhdje;
    }
    public void setRate(BigDecimal rate)
    {
        this.rate = rate;
    }

    public BigDecimal getRate()
    {
        return rate;
    }
    public void setRateE(BigDecimal rateE)
    {
        this.rateE = rateE;
    }

    public BigDecimal getRateE()
    {
        return rateE;
    }
    public void setChargeUser(String chargeUser)
    {
        this.chargeUser = chargeUser;
    }

    public String getChargeUser()
    {
        return chargeUser;
    }
    public void setPartnerChargrUser(String partnerChargrUser)
    {
        this.partnerChargrUser = partnerChargrUser;
    }

    public String getPartnerChargrUser()
    {
        return partnerChargrUser;
    }

    public Long[] getIds() {
        return ids;
    }

    public void setIds(Long[] ids) {
        this.ids = ids;
    }

    public String getKpType() {
        return kpType;
    }

    public void setKpType(String kpType) {
        this.kpType = kpType;
    }

    public Long getJsId() {
        return jsId;
    }

    public void setJsId(Long jsId) {
        this.jsId = jsId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("tenantId", getTenantId())
                .append("date", getDate())
                .append("partnerCode", getPartnerCode())
                .append("partnerType", getPartnerType())
                .append("partnerName", getPartnerName())
                .append("partnerSh", getPartnerSh())
                .append("partnerDz", getPartnerDz())
                .append("partnerPhone", getPartnerPhone())
                .append("partnerKhyh", getPartnerKhyh())
                .append("partnerZh", getPartnerZh())
                .append("partnerLxr", getPartnerLxr())
                .append("partnerLxdh", getPartnerLxdh())
                .append("contractType", getContractType())
                .append("contractCode", getContractCode())
                .append("contractQdrq", getContractQdrq())
                .append("contractJhq", getContractJhq())
                .append("contractQdr", getContractQdr())
                .append("proCode", getProCode())
                .append("proName", getProName())
                .append("ggxh", getGgxh())
                .append("unit", getUnit())
                .append("contractJe", getContractJe())
                .append("contractDj", getContractDj())
                .append("contractNum", getContractNum())
                .append("kpzt", getKpzt())
                .append("noticeNum", getNoticeNum())
                .append("invoiceType", getInvoiceType())
                .append("jiesuanZq", getJiesuanZq())
                .append("kpZq", getKpZq())
                .append("kpSl", getKpSl())
                .append("kpDj", getKpDj())
                .append("kpJe", getKpJe())
                .append("bhsdj", getBhsdj())
                .append("bhdje", getBhdje())
                .append("rate", getRate())
                .append("rateE", getRateE())
                .append("chargeUser", getChargeUser())
                .append("partnerChargrUser", getPartnerChargrUser())
                .append("remark", getRemark())
                .toString();
    }
}
